class Aging:
    pcbt = None
    aging = {}
    kernel = None
    
    def __init__(self,aKernel):
        self.kernel = aKernel
        self.pcbt = self.kernel.pcbt
        self.kernel.cpu.addObserver(self)
        #self.inicialize()         vewrificar por que no estaba este metodo
        
    def addPcbIntoTable(self, pcb): #a cada pid lo inicializa con 0 envejecimiento
            self.aging [pcb.pid] = 0
    def removePcbFromTable (self, pcb):
            del self.aging[pcb.pid]        
    def notify(self): #envejece por ciclo de cpu
        for k in self.aging:
            self.aging[k] = self.aging[k] + 1
            if self.aging[k]==5:
                self.agingPid(k)
                
    def agingPid(self, pid): #aumenta la prioridad
        if self.pcbt[pid].priority < 3:
            self.pcbt[pid].priority += 1
            
          
 
